Skip to content

[pull] master from php:master#652

Merged
pull[bot] merged 1 commit intoturkdevops:masterfrom
php:master
Jan 10, 2026
Merged

[pull] master from php:master#652
pull[bot] merged 1 commit intoturkdevops:masterfrom
php:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Jan 10, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

mbstring's Unicode case conversion is table-driven, using Minimal Perfect Hash tables.
However, for small codepoint values, we bypass the hashtable lookup and just use
hard-coded conversion logic (i.e. adding or subtracting 0x20 from the appropriate
ASCII range).

For upcasing and downcasing, we had already optimized the conditional which sends
execution down this fast path, to use the fast path for as many codepoint values
as possible. However, for case folding, this had not been done.

This will give a small performance boost for case-folding Unicode text which
includes non-breaking spaces, symbols like ¥ or ™, or accented Latin
characters (used in many European languages).
@pull pull bot locked and limited conversation to collaborators Jan 10, 2026
@pull pull bot added the ⤵️ pull label Jan 10, 2026
@pull pull bot merged commit 79b5204 into turkdevops:master Jan 10, 2026
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant